/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.cip.esymons.tesoreria.be;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Gilmar Montoya
 */
@Entity
@Table(name = "tes_configuracion_descuento")
public class ConfiguracionDescuento implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "cde_codigo", nullable = false)
    private Integer cdeCodigo;
    @Column(name = "cde_nombre", length = 150)
    private String cdeNombre;
    @Column(name = "cde_valor", precision = 11, scale = 4)
    private Double cdeValor;
    @Column(name = "cde_fechaIni")
    @Temporal(TemporalType.DATE)
    private Date cdeFechaIni;
    @Column(name = "cde_fechaFin")
    @Temporal(TemporalType.DATE)
    private Date cdeFechaFin;
    @Column(name = "cde_anio")
    private Integer anio;
    @OneToMany(mappedBy = "cdeCodigo", fetch = FetchType.LAZY)
    private List<HistorialDescuento> historialDescuentoList;

    public ConfiguracionDescuento() {
    }

    public ConfiguracionDescuento(Integer cdeCodigo) {
        this.cdeCodigo = cdeCodigo;
    }

    /**
     * @return the cdeCodigo
     */
    public Integer getCdeCodigo() {
        return cdeCodigo;
    }

    /**
     * @param cdeCodigo the cdeCodigo to set
     */
    public void setCdeCodigo(Integer cdeCodigo) {
        this.cdeCodigo = cdeCodigo;
    }

    /**
     * @return the cdeNombre
     */
    public String getCdeNombre() {
        return cdeNombre;
    }

    /**
     * @param cdeNombre the cdeNombre to set
     */
    public void setCdeNombre(String cdeNombre) {
        this.cdeNombre = cdeNombre;
    }

    /**
     * @return the cdeValor
     */
    public Double getCdeValor() {
        return cdeValor;
    }

    /**
     * @param cdeValor the cdeValor to set
     */
    public void setCdeValor(Double cdeValor) {
        this.cdeValor = cdeValor;
    }

    /**
     * @return the cdeFechaIni
     */
    public Date getCdeFechaIni() {
        return cdeFechaIni;
    }

    /**
     * @param cdeFechaIni the cdeFechaIni to set
     */
    public void setCdeFechaIni(Date cdeFechaIni) {
        this.cdeFechaIni = cdeFechaIni;
    }

    /**
     * @return the cdeFechaFin
     */
    public Date getCdeFechaFin() {
        return cdeFechaFin;
    }

    /**
     * @param cdeFechaFin the cdeFechaFin to set
     */
    public void setCdeFechaFin(Date cdeFechaFin) {
        this.cdeFechaFin = cdeFechaFin;
    }

    /**
     * @return the anio
     */
    public Integer getAnio() {
        return anio;
    }

    /**
     * @param anio the anio to set
     */
    public void setAnio(Integer anio) {
        this.anio = anio;
    }

    /**
     * @return the historialDescuentoList
     */
    public List<HistorialDescuento> getHistorialDescuentoList() {
        return historialDescuentoList;
    }

    /**
     * @param historialDescuentoList the historialDescuentoList to set
     */
    public void setHistorialDescuentoList(List<HistorialDescuento> historialDescuentoList) {
        this.historialDescuentoList = historialDescuentoList;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final ConfiguracionDescuento other = (ConfiguracionDescuento) obj;
        if (this.cdeCodigo != other.cdeCodigo && (this.cdeCodigo == null || !this.cdeCodigo.equals(other.cdeCodigo))) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 37 * hash + (this.cdeCodigo != null ? this.cdeCodigo.hashCode() : 0);
        return hash;
    }
    
}
